定义链表,把{0,-1,3,5,2,-7,9,-6,4,-8}插入链表

来源:百度知道 编辑:UC知道 时间:2024/05/21 10:04:06
用排序算法,把负数排到0的前面,把正数排到0的后面,并输出排序后的结果。(麻烦高手们把程序的过程写详细点,谢了)
高手们,麻烦把程序过程写下来,急用。。。。谢了

#include<iostream>
using namespace std;
struct Lnode
{
int data;
struct Lnode *next;
}
int main()
{
int i=0,a={0,-1,3,5,2,-7,9,-6,4,-8};
Lnode *b=0,*l=0,*temp=0,*Head=0;
for(i=0;i<10;i++)
{
temp=new Lnode;
temp->data=a[i];
if(a[i]>=0)
{
temp->next=b;
b=temp;
}
else
{
temp->next=l;
l=temp;
}
}
l->next=b;
head=l;
while(l->next!=0)
cout<<l->data;
//程序最后还要释放掉动态申请内存,在此省略,不影响程序结果
}

各结点插入链表时,先建头结点,存入0.以后的结点,负数插在头结点前,成为新的头结点,正数则插在链表尾.(或者始终用个指针指向0所在结点,正数则插在0结点后面.)